Generic Programming Aspects of Symmetry Exploiting Numerical Software
نویسندگان
چکیده
The use of the generalized Fourier transform as a means to diagonalize certain types of equivariant matrices, and thus speeding up the solution of numerical systems, is discussed. Such matrices may arise in various applications with geometrical symmetries, for example when the boundary element method is used to solve an electrostatic problem in the exterior of a symmetric object. The method is described in detail for an object with a triangular symmetry, and the feasibility of the method is confirmed by numerical experiments. The design of numerical software for this kind of applications is a challenge. It is argued that generic programming is very suitable in this context, mainly because it is type safe and promotes polymorphism capabilities in link time. A generic C++ design of important mathematical abstractions such as groups, vector spaces, and group algebras, is outlined, illustrating the potential provided by generative programming techniques. The integration of explicit support for various data layouts for efficiency tuning purposes is discussed.
منابع مشابه
Concepts for parallel numerical solution of PDEs
The parallelization of numerical codes on unstructured grids still is a demanding programming task, which is often performed in an application-speciic manner. However, many of the algorithms used in this eld exhibit strong structural similarities. A concept exploiting the latter is developed in this paper. Furthermore, it will be shown how the abstract concepts can be implemented in a reusable ...
متن کاملDesigning for geometrical symmetry exploitation
Symmetry exploiting software based on the generalized Fourier transform (GFT) is presented from a practical design point of view. The algorithms and data structures map closely to the relevant mathematical abstractions, which primarily are based upon representation theory for groups. Particular care has been taken in the design of the data layout of the performance sensitive numerical data stru...
متن کاملA Generic Method for Identifying and Exploiting Dominance Relations
Many constraint problems exhibit dominance relations which can be exploited for dramatic reductions in search space. Dominance relations are a generalization of symmetry and conditional symmetry. However, unlike symmetry breaking which is relatively well studied, dominance breaking techniques are not very well understood and are not commonly applied. In this paper, we present formal definitions...
متن کاملControlling Software Complexity by Exploiting Software Similarity Patterns
Complexity of software quickly approaches the limits of what today’s programming paradigm can handle. Similarities are inherent in software. In the paper, we describe how to turn opportunities created by software similarities into a practical method to better control software complexity. The key is frame technology, capable of representing similarity patterns in a generic and adaptable form. Fr...
متن کاملBetter Generative Programming with Generic Aspects
After a brief introduction to generative, generic, and aspect-oriented programming, we point out four key elements that appear in the definition of generative programming and that are addressed in this position paper from the perspective of distributed systems development. Then, based on a concrete RMI distribution example, we start motivating how the expressiveness power of generics and the cr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004